home *** CD-ROM | disk | FTP | other *** search
/ Internet Tools (InfoMagic) / Internet Tools.iso / samba / change-log < prev    next >
Text File  |  1995-04-24  |  60KB  |  1,432 lines

  1. Change Log for Samba
  2.  
  3. Unless otherwise attributed, all changes were made by 
  4. Andrew.Tridgell@anu.edu.au
  5.  
  6. NOTE: THIS LOG IS IN CHRONOLOGICAL ORDER
  7.  
  8.  
  9. 1.5.00    announced to mailing list
  10.  
  11. 1.5.01 1/12/93
  12.     - configuration through makefile only
  13.     - fixed silly bug that made the client not accept dir's from 
  14.     the server
  15.     - tested and updated include files for ultrix, aix and solaris
  16.     - several things fixed thanks to pierson@ketje.enet.dec.com
  17.     who provided invaluable help and advice.
  18.  
  19. 1.5.02 1/12/93
  20.     - added username option to services file so connection
  21.     as non guest from lanmanager is possible
  22.     - made server abort when it can't read/write on a socket
  23.     - added logging to client
  24.  
  25. 1.5.03 2/12/93
  26.     - printing now works
  27.     - fixed a minor bug to do with hidden and system attributes
  28.     
  29. 1.5.04 2/12/93
  30.     - added reduce_name() call to fill in security hole.
  31.     - cleanup up debug stuff a little
  32.  
  33. 1.5.05 2/12/93
  34.     - fixed bug in reduce_name that affects services with base paths
  35.     that have a soft link in them.
  36.  
  37. 1.5.06 3/12/93
  38.     - used the reserved server field in the search status to hold the 
  39.     directory pointer. This allows lots of directories to be open
  40.     at once by clients without stuffing things up.
  41.     - preserved all the client reserved bytes in the search status
  42.     in case they actually use them. Hopefully this will fix the annoying
  43.     empty directory dir bug. (it does)
  44.     
  45. 1.5.07 3/12/93
  46.     - fixed silly bug that caused volume ids to appear twice
  47.     - fixed a wrote-too-few bug in smb_send()
  48.  
  49. 1.5.08 3/12/93
  50.     - did the SMBsearch properly. It can now handle recursive searches.
  51.     In order to keep the required dir info I encode the dirptr and
  52.     the current dir offset (from telldir) into 5 bytes by using a table
  53.     on the last 7 bits of the first byte. The first bit is always on
  54.     as this byte must by != 0
  55.     This is all put in the "server reserved" search field.
  56.  
  57. 1.5.09 5/12/93
  58.     - added a prototype nameserver. It's broken but can at least interpret
  59.     incoming packets.
  60.     - minor fixes to the server and client
  61.  
  62.  
  63. 1.5.10 5/12/93
  64.     - fixed silly unsigned/signed char bug that made dosshell noot see all files
  65.     - added nmbd to Makefile
  66.  
  67. 1.5.11 6/12/93
  68.     - made the volume label appear as the service name, rather than "Remote"
  69.     - made the nmbd actually work (a little) for lanman for dos
  70.  
  71. 1.5.12 7/12/93
  72.     - fixed broadcasting in the nameserver
  73.     - the smbd now correctly sets the pid and uid
  74.     - nmbd now seems to work enough to satisfy the MS client.
  75.  
  76.  
  77. 1.5.13 7/12/93
  78.     - fixed a silly bug that truncated filenames
  79.     - added -B option to nameserver to specify bcast address
  80.     - added -R option to nameserver to prevent name registering
  81.     - fixed minor read() bug. Does this fix the "cmp" bug?
  82.  
  83. 1.5.14 8/12/93
  84.     - fixed a bug in send_login() in the client. Thanks to 
  85.     tim.hudson@gslmail.mincom.oz.au for pointing this out.
  86.     - changed name_mangle() to pad to minimum of 32 bytes with spaces
  87.     - changed the returned buffer size in reply_connect() to not
  88.     count the 4 byte length field. This fixes the "can execute" bug
  89.     and the "comp" bug
  90.     - once again re-wrote the directory pointer handling code.
  91.     now "tree" works correctly
  92.  
  93. 1.5.15 9/12/93
  94.     - fixed name mangle bug introduced in 1.5.14 which stopped
  95.     nameserver from working
  96.  
  97. 1.5.16 9/12/93
  98.     - arrgh. another silly bug in name_mangle() causes the client to die.
  99.  
  100.  
  101. 1.5.17 13/12/93
  102.     - some cosmetic cleanups to the code
  103.     - changed make_connection not to lower case the password (thanks
  104.     to bryan@alex.com)
  105.     - fixed accept() bug not initialising in_addrlen (thanks to
  106.     bogstad@cs.jhu.edu)
  107.     - fixed cd bug in client.c (thanks to joergs@toppoint.de)
  108.     - lots of fixes to the nameserver to read_socket and
  109.     associated routines. It should now correctly reply to the originating
  110.     address and use the correct broadcast. 
  111.     (thanks to troyer@saifr00.ateng.az.honeywell.com)
  112.     - SVR4 patches from mark@scot1.ucsalf.ac.uk
  113.     - changed the default BUFFER_SIZE to 0xFFFF
  114.  
  115. 1.5.18 15/12/93
  116.     - minor fix to reply_printqueue() to zero data buffer array.
  117.     - added print command to client.
  118.     - fixed minor bug in cmd_put() in client where a handle could
  119.     be closed without being previously opened.
  120.     - minor cleanups to the client
  121.     - minor solaris fixes from lonnie@itg.ti.com
  122.     - SYSV, shadow password  and dfree() fixes from mark@scot1.ucsalf.ac.uk
  123.     - fixed reply_delete() to not delete read-only files
  124.     - fixed infinite loop in reply_delete on "del ." 
  125.     Thanks to mark@scot1.ucsalf.ac.uk for pointing this out.
  126.     - posix mode definitions and changes from mark@scot1.ucsalf.ac.uk
  127.  
  128.  
  129. 1.5.19 18/12/93
  130.     - another very minor fix to dfree().
  131.     - minor change to SVR4 makefile entry from rossw@march.co.uk
  132.     - changed reply_open not to open directories, this fixes the 
  133.     "copy .." bug pointed out by mark@scot1.ucsalf.ac.uk
  134.     - changed dos_mode() so it doesn't return hidden and system info
  135.     on directories.
  136.     - changed get_dir_entry() not to descend into proc/self under linux
  137.     control this with the DONT_DESCEND define in includes.h
  138.     - changed smb_setlen() to add in the SMB id. (thanks 
  139.     to troyer@saifr00.ateng.az.honeywell.com)
  140.     - fixed minor bug in reply_dir() so it won't return a ACCESS_DENIED
  141.     when searching a directory that is unreadable
  142.     - removed second stat() from get_dir_entry() (speed up)
  143.     - made null searches close the dirptr (fixes big filesystem problem)
  144.     - fixed clean_name for cd .. (from magnus@axiom.se)
  145.  
  146.     
  147. 1.5.20 28/12/93
  148.     - added debug statement in case of SMBcreate with volid set (leefi@microsoft.com)
  149.     - fixed a bug in dptr_close() so it sets the next_key to a better 
  150.     value, this fixes a annoying dir bug
  151.     - LOTS of changes from jeremy@netcom.com (Jeremy Allison). This
  152.     makes it possible to at least connect to a NT server with the client
  153.     and also fixes up much of the socket/process code. This also includes
  154.     stuff for compiling on a sun386
  155.     - got the client working with the Syntax server (a commercial
  156.     smb-based server). This required a few minor changes so the xmit 
  157.     sizes were negotiated properly.
  158.     - added support for OSF1, tested on a DEC3000/400 alpha.
  159.     - fixed the ifconf support under ultrix
  160.  
  161. 1.5.21 31/12/93
  162.     - minor cosmetic change to reduce_name()
  163.     - changes for HPUX from ppk@atk.tpo.fi (Pasi Kaara)
  164.     - minor fix to nameserver
  165.     - revamped configuration file format. It now takes a Windows-style
  166.           (.INI style) configuration file. See the file services for
  167.           full details of the format. New files: loadparm.c, loadparm.h,
  168.           params.c, params.h, testparm.c. Several changes to smb.h, local.h,
  169.           server.c, Makefile. The services structure is no longer visible 
  170.           to the rest of the system. (Karl Auer)
  171.         - added ability to specify a print command on a per service basis
  172.           and globally via the configuration file. Also allows guest account
  173.           to be specified in the configuration file. Made appropriate changes
  174.           to server.c so that these data items are obtained from the config
  175.           module rather than from hardcoded strings (though the hardcoded
  176.           strings are still the source of the defaults). (Karl Auer)
  177.         - renamed old-style configuration file to services.old (Karl Auer)
  178.         - changed README to reflect new configuration details. (Karl Auer)
  179.         - removed an item from the bugs wishlist (now supplied!) (Karl Auer)
  180.         - protected smb.h against multiple compilation. (Karl Auer)
  181.         - protected local.h against multiple compilation. (Karl Auer)
  182.     - made config stuff do dynamic allocation
  183.     - added "homes" capability
  184.     - added create_mask to each service in config
  185.  
  186. 1.5.22 3/1/94
  187.     - added "root dir" option for extra security
  188.     - added -n option to client (useful for OS/2)
  189.     - changed operation of -n to nameserver to be more useful
  190.     - patches from Jeremy Allison (jeremy@netcom.com)
  191.     fixing bug in set_message(), fixing up wait3() for SYSV,
  192.     making cd check the path in the client, allowing fetching to stdin
  193.     in client, and enhancing prompt in client to include directory.
  194.     - made the -D become_daemon() actually detach from the tty. This
  195.     may need tuning for different flavors of unix.
  196.     - added "dont descend" option to each service to prevent infinite 
  197.     loops on recursive filesystems.
  198.     - updated README to add "running as a daemon" and a simple
  199.     smb.conf file.
  200.     - HP/UX fixes from ppk@atk.tpo.fi
  201.     - made lock calls only if opened with write enabled, as pointed out
  202.     by gadams@ddrive.demon.co.uk
  203.  
  204. 1.5.23 4/1/94
  205.     - minor fix to logging of data in receive_smb(). It used to
  206.     miss the last 4 bytes of packets.
  207.     - added the pid,uid and mid fields to the negotiation phase of
  208.     the client.
  209.     - made client able to print from stdin
  210.     - added password on command line for client
  211.     - created a sample printcap input filter "smbprint"
  212.     - several fixes to client to work with OS/2
  213.     - added mput, mget, prompt and lcd to client
  214.  
  215. 1.5.24 5/1/94
  216.     - a resend of 1.5.23 as I managed to not include the new
  217.     prompt, mput and mget code.
  218.  
  219. 1.5.25 7/1/94
  220.     - change -B on nameserver so it can override the broadcast address
  221.     - minor changes to printing in client so OS/2 server can handle it.
  222.     - fixed reply_access() where OK was not being initialised
  223.     - added "max xmit" to global parameters.
  224.     - changed create to open with O_RDWR instead of O_WRONLY
  225.     - added printmode command to client
  226.     - made help return extra help on a specified command in client
  227.     - fixed return code in chkpath
  228.     - added "recurse" and "lowercase" options to client
  229.     - fixed some error codes from server
  230.     - added -I option to client
  231.     - fix for become_daemon() for HPUX from ppk@atk.tpo.fi
  232.     - added "hosts allow" and "hosts deny" to server
  233.     - added keepalives to server
  234.     - added "access" feature to testparam
  235.     - NetBSD patches from sreiz@aie.nl
  236.  
  237. 1.5.26 8/1/94
  238.     - changed semantics of hosts access code to do more sensible defaults
  239.     when either of "hosts allow" or "hosts deny" is blank
  240.     - added the SO_KEEPALIVE option to configurations of sockets in the
  241.     server
  242.     - made some of the SVAL fns into macros to keep fussy compilers from
  243.     complaining
  244.     - fixed several null pointer bugs in check_access(). These bugs
  245.     made 1.5.25 unuseable for many people.
  246.     - fixed null pointer reference of lp_dontdescend()
  247.     - reload services file after each new connection. 
  248.  
  249. 1.5.27 11/1/94
  250.     - fixed opening mode for reply_open() in server
  251.     - patches from Jeremy Allison (jeremy@netcom.com) to support the 
  252.     "core+" protocol. The patches also inclued some other features, such
  253.     as a new read_with_timeout() call (used by SMBreadbraw), and auto 
  254.     detection of the need to create a socket.
  255.     - changed the default KEEPALIVE value to 0, as it caused
  256.     problems with Lanmanager.
  257.     - added tar capability to client when getting files
  258.     - altered unix_mode() to return x bits for directories
  259.     - fixed bug in trim_string()
  260.  
  261. 1.5.28 12/1/94
  262.     - cleaned up the debug levels a little so debug level 1 is a practical
  263.     level for general use
  264.     - fixed a bug in add_a_service() where a freed pointer was referenced. Thanks
  265.     to bryan@alex.com for finding the bug.
  266.     - fixed bug in time structure handling in server and client. Thanks to 
  267.     bryan@alex.com for pointing out the bug.
  268.  
  269.  
  270. 1.5.29 15/1/94
  271.     - fixed a silly bug in reply_open(). Thanks to
  272.     jeremy@netcom.com for pointing this out.
  273.     - fixed debug levels in client to be more sensible
  274.     - added raw read to client
  275.     - added -B option to client
  276.     - fixed several bugs in the client, mostly to do with the tar option
  277.     - added -E option to client
  278.  
  279. 1.5.30 16/1/94
  280.     - added lots of prototypes so compilers don't complain
  281.     - fixed minor bug in reply_rename() (thanks to ppk@atk.tpo.fi)
  282.     - added more support for LANMAN1.0 protocol.
  283.     - added SESSION SETUP AND X call
  284.     - added READ AND X call
  285.     - added TREE CONNECT AND X call
  286.     - added support for setbuffer for HPUX (thanks to ppk@atk.tpo.fi)
  287.  
  288. 1.5.31 29/1/94
  289.         - added support for user level security in smbclient eg:
  290.           smbclient "\\SERVER\SHARE" -U USERNAME%PASSWORD
  291.         - added error message decode as per SMB File Sharing
  292.           protocol extensions. (thanks to merik@blackadder.dsh.oz.au)
  293.         - added selection masks to smbclient that recurse down directory
  294.           tree. eg: mget *.* with recurse and mask *.c on will retrieve all
  295.           *.c files in the tree.
  296.     - patches for FreeBSD from kuku@acds.physik.rwth-aachen.de
  297.     - changed reduce_name() to trim ./ from front of strings and / from 
  298.       back
  299.     - fixed a nasty bug in trim_string().
  300.     - numerous small changes to lots of stuff that I didn't
  301.     document while I was doing them. Sorry :-(
  302.     - slightly updated sockspy
  303.  
  304.        - The following was done by Karl Auer (Karl.Auer@anu.edu.au)
  305.        - added processing in configuration file of a [printers] section. Allows
  306.          connection to any printer specified in /etc/printcap (or the file
  307.          specified in the global parameter 'printcap name').
  308.        - added full processing of 'available' flag to configuration file. A
  309.          service can now be 'turned off' by specifying 'available = no'. Of
  310.          dubious utility.
  311.        - added 'printcap =' parameter to [global] section in the configuration
  312.          file. This allows the normal /etc/printcap to be bypassed when
  313.          checking printer names for dynamic printer connections via [printers].
  314.        - added 'printer name =' parameters to both the [global] section and
  315.          services sections of the configuration file. This allows the printer
  316.          name only to be set, without having to specify an entire print
  317.          command.
  318.        - added some synonyms: 'writable' and 'write ok' have the opposite sense
  319.          to 'read only'. 'public' may be used instead of 'guest ok'. 'printer'
  320.          may be used instead of 'printer name'. 'printable' is the same as 
  321.          'print ok'. 'root' may be used instead of 'root dir' or 'root 
  322.          directory'.
  323.        - added lots more detail to the sample configuration file to take
  324.          account of the above.
  325.        - many minor fixes to internal documentation in the configuration
  326.          sources.
  327.        - also - Man pages!
  328.  
  329.  
  330. 1.5.32 3/2/94
  331.     - addition of smbd, smbclient and testparm man pages 
  332.       from Karl Auer
  333.     - zombie process fix from lendecke@namu01.gwdg.de
  334.     - added capability to nmbd to serve names available 
  335.     via gethostbyname().
  336.  
  337. 1.5.33 3/2/94
  338.     - fixed up getting of netmask so it works on more unix variants
  339.     - added -N option to nmbd
  340.     - changed GMT diff calculation. need to check it's right for
  341.     lots of OSes
  342.     - fixed a bug in read_and_X() and chain_reply() chaining now
  343.     seems to work correctly
  344.  
  345. 1.5.34 4/2/94
  346.     - fixed bug in client that meant it couldn't get/put files from WfWg
  347.     - fixed a bug in the server that caused lpr to return -1 under sunos
  348.     - fixed a few errors in the hosts allow section of the
  349.     smb.conf.5 manual page and added examples
  350.  
  351. 1.5.35  6/2/1994
  352.     - minor bugfix in reduce_name().
  353.     - changed width of "size" in client during a dir
  354.     - patches for NEXT (among other things) from lendecke@namu01.gwdg.de
  355.     - added -a switch to server, and made default action to append
  356.     to log file
  357.     - added deadtime options to [global] section for timing out
  358.     dead connections to the smbd.
  359.     - HPUX changes from Pasi.Kaara@atk.tpo.fi
  360.     - made use of unsigned char more consistent
  361.     - changed the way of getting the default username and host in the
  362.      client
  363.     - made LANMAN1 default to on in the client, off in server.
  364.     Use -DLANMAN1=1 to make it on in both.
  365.     - lots of casts and cleanups for various operating systems
  366.     - changes to the Makefile from Karl to auto-instal the man pages
  367.     - added a short history of the project to the distribution
  368.  
  369. 1.5.36 15/2/94
  370.     - fixed minor bug in Debug() (thanks to Pasi.Kaara@atk.tpo.fi)
  371.     - fixed bug in server.c so -a wasn't accepted.
  372.     - minor fixes to the client
  373.     - added hosts file to name server (-H option)
  374.     - added -G option for groups to nameserver
  375.     - cleanups and additions from Jeremy Allison, taking us
  376.     closer to LANMAN1.0. In particular the locking code was cleaned up
  377.     considerably.
  378.  
  379. 1.5.37 16/2/94
  380.     - fixed bug introduced in 1.5.36 which disabled SMBcreate
  381.  
  382. 1.5.38 18/2/94
  383.     - fixed get_broadcast() for ultrix (fix from iversen@dsfys1.fi.uib.no)
  384.     - added automatic group registration
  385.     - fixed bug in registration code
  386.     - made nmbd work better with WfWg, and probably others
  387.     - updated the man pages to include the new nmbd options.
  388.     - minor updates to the README
  389.     - fixed double log_out() in send_packet().
  390.     - fixed bug in smbclient so that "dir" didn't work correctly
  391.     with pathworks
  392.     - possibly fixed bug in server that led to "abort retry ignore" from
  393.     pathworks client when doing a "dir".
  394.     - changed behaviour of smbclient login slightly, to try a
  395.     blank password in SMBtcon if the right password fails, and a
  396.     session setup has succeeded. Some clients seem to use a blank
  397.     one if a session setup has succeeded.
  398.     - ISC patches from imb@asstdc.scgt.oz.au
  399.     - the client now tries to do name registration using a unicast.
  400.     Let me know if this helps anyone.
  401.     - tried to add a "contributed" line to each OS in the Makefile.
  402.  
  403. 1.5.39 18/2/94
  404.     - fixed silly C code that only worked with some compilers
  405.     - fixed another silly bug in nameserv.c that caused it to seg fault
  406.  
  407. 1.5.40 21/2/94
  408.     - removed the from (IP) message so people don't worry about 0.0.0.0,
  409.     it's redundant anyway.
  410.     - changed the client so the crypt key isn't printed
  411.     - changed the structure of switch_message() to use a list of functions.
  412.     This improves the debug info.
  413.     - made SMBopen ignore supplied attribute as per X/Open spec
  414.     - made SMBopen fail if file doesn't exist in all cases. Let me know
  415.     if this breaks something. It is implied in the X/Open spec. This
  416.     fixes the pkzip bug.
  417.     - added dptr_demote() to replace dptr_close() to try and fix 
  418.     pathworks dir bug. This has the potential disadvantage of
  419.     leaving lots of open file descriptors.
  420.     - changed mask_match to disallow two .s in a name
  421.  
  422. 1.5.41 2/3/94
  423.     - added "dfree command" global option to smbd to support an
  424.     external "disk free" executable (typically a script). This gets 
  425.     around the problem of getting disk free info reliably on lots
  426.     of systems.
  427.     - added ffirst and fclose to client
  428.     - simple SYSVR4 patch from mark@scot1.ucsalf.ac.uk
  429.     - added better uid/gid reporting for debugging purposes
  430.     - several changes to the logon procedure for the client, so hopefully
  431.     it will connect correctly to a wider range of servers.
  432.     - server should no longer crash if it can't open the debug
  433.     file (thanks to MGK@newton.npl.co.uk)
  434.     - added the THANKS file.
  435.  
  436. 1.5.42 6/3/94
  437.     - lots of changes from Jeremy Allison, implementing more of
  438.     the LANMAN1.0 protocol, and fixing a few bugs.
  439.     - fixed delete bug, so hopefully wildcards are correct now
  440.     - pcap changes from Martin Kiff so non-aliased printers in
  441.     /etc/printcap are recognised
  442.     - wrote announce file ready for 1.6
  443.     - re-wrote browse code in client (still doesn't work)
  444.     - updates to man-pages from Karl Auer
  445.     - made raw packet dumps mode 0600 and only if -dA is given
  446.     - changed socket code to use utility functions in util.c
  447.  
  448. 1.6.00 17/3/94
  449.     - made server always return to original directory (rather than /)
  450.     - fixed bug in params.c that caused a seg fault if no parms in a 
  451.       section
  452.     - minor clean ups for clean compile under solaris
  453.     - solaris fix for running from inetd from Karl Auer
  454.     - fixes for dfree() under solaris
  455.     - minor changes that might help BSDI
  456.     - changes to the Makefile, manual-pages and sample config file from 
  457.     Karl Auer
  458.     - fixed dfree for Ultrix
  459.  
  460. 1.6.01 19/3/94
  461.     - fixed setatr bug that allowed directories to be unusable 
  462.  
  463. 1.6.02 27/3/94
  464.     - added timestamps to connection message in log
  465.     - added idle timeout of 10 minutes to name server
  466.     - made HAVE_SYSCONF==0 the default in includes.h
  467.     - made the client not register by default
  468.     - ISC patches from imb@asstdc.scgt.oz.au
  469.     - GetWd() cache code from Martin Kiff
  470.     - rewrote the locking code in terms of fcntl() calls.
  471.     - fixed "can't delete directory" bug
  472.     - added code to close old dirptrs for duplicate searches
  473.     - removed exchange_uids() and the access() call and replaced them.
  474.  
  475. 1.6.03 28/3/94
  476.     - tried to clean up the time handling a little (local vs gmt time)
  477.     - added debug level global to server config
  478.     - added protocol level global to server config
  479.     - added SMBecho command to server
  480.     - included Karl Auers SMBGuide in the distribution.
  481.  
  482. 1.6.04 31/3/94
  483.     - fixed time zeroing bug in smb_close and smb_setatr
  484.     - re-wrote the username/password handling to be more flexible
  485.     - added "guest only" service setting to smb.conf
  486.     - updated man pages for new username/password handling
  487.     - fixed parse bug in reply_tconX
  488.     - improved error return code from tcon
  489.     - several changes to fix printing from WfWg
  490.  
  491. 1.6.05 2/4/94
  492.     - changed the name of the whole package to Samba
  493.     - removed SMBexit call from client to stop exiting error message
  494.     - added interpret_addr() call to replace inet_addr() so
  495.     a hostname can be used whenever a IP is required
  496.  
  497. 1.6.06 8/4/94
  498.     - added random tid choice to reduce problem of clients not
  499.     detecting a server disconnection.
  500.     - made client not report spurious time from CORE or COREPLUS server.
  501.     - minor HPUX fix from gunjkoa@dep.sa.gov.au
  502.     - turned off GETWD_CACHE until we track down a minor bug in it
  503.  
  504. 1.6.07: 10/4/94
  505.     - added helpful error messages to connection failure in client.
  506.     - fixed problem with mput in client
  507.     - changed server to allow guest-only sesssetup messages with any
  508.     password. Control this with GUEST_SESSION_SETUP in local.h.
  509.     - minor change to session setup handling in make_connection()
  510.     - added check for right number of \s in the client.
  511.     - made the server not exit on last close if the deadtime is != 0
  512.     - added malloc and realloc wrappers. enable them with -DWRAP_MALLOC=1
  513.     - if smbd is started with a debug level of 10 or greater it creates
  514.     a log file ending in the process number
  515.  
  516. 1.6.08: 18/4/94
  517.     - updated the THANKS file
  518.     - changes from marcel@fanout.et.tudelft.nl (Marcel Mol) for AMPM
  519.     times and error report on connect().
  520.     - made the get_myname() routine discard any part after the first '.'
  521.     - added a wrapper for free from Martin Kiff
  522.     - added simpleminded code to handle trapdoor uid systems (untested)
  523.     - added Martin Kiffs "paranoid" getwd code.
  524.     - added default MAXPATHLEN if undefined of 1024
  525.     - made get_broadcast() continue to get netmask if it can't get
  526.     broadcast (suggestion from Hannu Martikk)
  527.     - replaced fchmod() calls with chmod() to satisfy some unixes
  528.  
  529.  
  530.  
  531. 1.6.09: 4/5/94
  532.     - changed perror() calls to strerror() in server.c
  533.     - fix for dfree on OSF1 from 
  534.     Maximilian Errath (errath@balu.kfunigraz.ac.at)
  535.     - fixed server time reporting for protocol >= LANMAN1
  536.     - fixed TimeDiff() for machines without TIMEZONE or TIMELOCAL
  537.     (thanks to Vesa S{rkel{ <vesku@rankki.kcl.fi>)
  538.     - added SYSV defs to AIX and HPUX to fix "memory" problem
  539.     (actually a signal problem).
  540.     - added version to client banner in log file
  541.     - Ultrix patches from Vesa S{rkel{ <vesku@rankki.kcl.fi>
  542.     - added ! command to client for executing shell commands
  543.     - fixed ERRnofids bug in server
  544.     - fixed name_equal bug 
  545.     (thanks to cjkiick@flinx.b11.ingr.com (Chris Kiick))
  546.     - wrapped gethostbyname() with Get_Hostbyname() to prevent
  547.     case sensitive problems on name lookups
  548.     - limit printer tmp filename to 14 chars 
  549.     (from Paul Thomas Mahoney <ptm@xact1.xact.com>)
  550.     - added ability to understand 64 bit file times 
  551.     (thanks to davidb@ndl.co.uk (David Boreham))
  552.     - added Gwt_Pwnam() wrapper to cover server case-sensitivity
  553.     problems (suggestion from J.M.OConnor@massey.ac.nz (John O'Connor))
  554.     - changed the setuid() calls to try and work for more systems
  555.     without breaking the ones it currently works for
  556.     - added version number to usage() 
  557.     (suggestion from peter@prospect.anprod.csiro.au)
  558.     - added "security=" option for share or user level security
  559.     - allowed multiple usernames in "user=" field
  560.     - changed display method for recursive dorectory listings
  561.     - switched client to use long filenames where supported
  562.     - added speed reporting to client transfers
  563.     - several NT fixes to server from jra@vantive.com (Jeremy Allison)
  564.     - ISC fixes from ptm@xact.demon.co.uk (Paul Mahoney)
  565.     - fix to README from grif@cs.ucr.edu (Michael A. Griffith)
  566.     - default netmask and broadcast from  Ian A Young <iay@threel.co.uk>   
  567.     - changed default of is_locked() on fcntl() error.
  568.     - fixed bug in read_with_timeout() that could cause a runaway 
  569.     smbd process.
  570.     - fixed findnext bug for long filenames in client
  571.     - changed default protocol level to LANMAN1
  572.     - change default reported security level to SHARE.
  573.     - changed password_ok() so that if pwdauth() fails it tries
  574.     with standard crypt.
  575.     - added "translate" command to the client to do CR/LF translation
  576.     for printing, and add a form feed at the end. 
  577.     (thanks to mh2620@sarek.sbc.com (Mark A. Horstman ) )
  578.     - added "locking=yes/no" toggle for each service
  579.     - SCO unix patches from Heinz Mauelshagen (mauelsha@ez.da.telekom.de)
  580.  
  581. 1.6.10: 7/5/94
  582.     - fixed important bug in readbraw/writebraw
  583.     - added -A option to client
  584.     - fixed delete bug on long filenames (untested). Thanks to
  585.     Stefan Wessels <SWESSELS@dos-lan.cs.up.ac.za>
  586.     - neatened up the byte swapping code
  587.  
  588. 1.6.11: 3/6/94
  589.     - fixed bug in client in receive_trans2_response() that caused
  590.     some strange behaviour with LANMAN2.
  591.     - fixed some offset/alignment problems with lockingX (thanks to 
  592.     Jeremy Allison)
  593.     - allow locking on O_RDONLY files. Thanks to Martin N Dey <mnd@netmgrs.co.uk>
  594.     - fixed del bug in client thanks to paulzn@olivetti.nl (Paul van der Zwan)
  595.     - fixed multiple user= bug thanks to MDGrosen@spectron.COM (Mark Grosen)
  596.     - added translate ability for all files. Thanks to mh2620@sarek.sbc.com (Mark A. Horstman )
  597.     - mask out negative lock offsets. Thanks to bgm@atml.co.uk (Barry G Merrick)
  598.     - more attempts to get the structure alignment better for some machines
  599.     - cleaned up the machine dependencies a little
  600.     - ISC fixes from Paul Thomas Mahoney <ptm@xact1.xact.com>
  601.     - enabled printing with a SMBclose and SMBwrite for NT 
  602.     thanks to jkf@frisky.Franz.COM (Sean Foderaro)
  603.     - SGI changes from Michael Chua <lpc@solomon.technet.sg>
  604.     - CLIX patches from cjkiick@ingr.com
  605.     - NEXT2 and NEXT3_0 patches from Brad Greer (brad@cac.washington.edu)
  606.     - BSDI changes from tomh@metrics.com (Tom Haapanen)
  607.     - SCO patches from John Owens (john@micros.com)
  608.     - fix psz bug in pcap.c (thanks to Karl Auer)
  609.     - added widelinks option (global and per service). Suggestion from
  610.     Karl Auer. Defaults to True.
  611.     - made locking able to be global or local (default is give by global)
  612.     - added check_name() to dir listings
  613.     - added "packet size" option to globals. default to 32767. This
  614.     "fixes" a WfWg bug (thanks to Karl Auer)
  615.     - fixes for getattrE and setattrE and minor fix in util.c from Jeremy Allison.
  616.     - Karl updated the man pages o be current
  617.     - disabled writebraw and readbraw until a possible bug can be investigated further
  618.  
  619. 1.7.00: 14/7/94
  620.     - added session_users list, to overcome problem of missing usernames in SMBTconX.
  621.     - added term support to the client
  622.     - added "default service"
  623.     - fork for print so user is not root
  624.     - added name mangling to 8.3 (rudimentary)
  625.     - fixed bug in in_group()
  626.     - changed to use gid in place of egid
  627.     - fixed client connection to OS/2 (1.3 + lanman2.2) and long filenames
  628.     - added patches from mcochran@wellfeet.com (Marc Cochran)
  629.       these implement scope ids and fix some udp bugs. It means
  630.       the -L option to nmbd now works.
  631.     - made nmbd respond to incoming port rather than only 137
  632.     - made wide links refuse .. components
  633.     - fixed "dir foo." bug to stop it showing "foo.???"
  634.     - improved name mangling (added stack)
  635.     - added valid FNUM check to most calls
  636.     - fixed important do_put bug in the client
  637.     - added magic scripts to the server
  638.     - re-enabled getwd_cache code
  639.     - added optional agressive password checking
  640.     - removed dptr_closepath from SMBsearch to try and stop "dos for loop"
  641.       bug
  642.     - DGUX patches from ross@augie.insci.com (ross andrus)
  643.     - updated the README and THANKS file.
  644.     - added node status request to -L option of nmbd
  645.     - stripped trailing spaces in mask_match() (thanks to mike hench hench@cae.uwm.edu)
  646.     - added COREPLUS style print queue reporting and "lpq command"
  647.       in globals.
  648.     - cleaned up date handling and fixed byte order dependancy on dates
  649.     in SMBgetattrE.
  650.     - cleaned up the password handling and added "password level" with
  651.     the possability of checking all case combinations up to N upper
  652.     case chars.
  653.     - changed to use recvfrom only on udp ports (fixed read raw!)
  654.     - added TCB password support for SCO (thanks to lance@fox.com)
  655.     - updated README, THANKS and announce files.
  656.     - fixed timezone reporting to be signed (thanks to noses@oink.rhein.de)
  657.     - disabled max packet as it could cause problems with WfWg (no longer 
  658.     needed now readraw is "fixed")
  659.     - changed from creat() to open() in mktemp and mknew.
  660.     - changed umask handling
  661.     - sped up nmbd by making it cache names
  662.     - changed idle timeout on nmbd to 2 mins
  663.     - Netbsd changes from noses@oink.rhein.de
  664.     - released alpha2
  665.     - added name timeout to nmbd
  666.     - changed bind port retry in nmbd
  667.     - added Limitations sections to README
  668.     - fixed two . in is_83()
  669.     - fixed compilations warnings in util.c (thanks to njw@cpsg.com.au)
  670.     - made [homes] honour multiple user list 
  671.     - fixed mask match bug introduced in alpha1
  672.     - added "mangled stack" option for stack size
  673.     - added mangled stack promotion
  674.     - released alpha3
  675.     - netbsd-1.0 fix for statfs().
  676.     - added null_string to util.c to reduce memory usage
  677.     - changed the way directory structures are put together
  678.     - added smbrun for system() requests
  679.     - changed maxmux to 0 in hope of avoiding mpx commands problem
  680.     - fixed zero response length for session keepalives
  681.     - removed called name from session users list
  682.     - added F_RDLCK support to try and handle locks on readonly files
  683.     - made directory creation honour the lowercase flag in client (thanks 
  684.     to charlie@edina.demon.co.uk)
  685.     - made checksum for mangling independant of extension if extension is 
  686.     lowercase
  687.     - added ability to rename files with different extension, preserving 
  688.     root name
  689.     - released alpha4
  690.     - better command line error checking in client
  691.     - changed all debug statements to new format
  692.     - fixed delete error code reporting
  693.     - released alpha5
  694.     - added mangled name support to wildcard delete in server
  695.     - fixed mask bug in SMBsearch
  696.     - cleaned up prototypes
  697.     - released alpha6
  698.     - fixed important bug in session_setup which made WfWg freeze 
  699.     (maxmux was 0 - this bug was introduced in alpha4)
  700.     - released alpha7
  701.     - two printing bug fixes thanks to bgm@atml.co.uk (Barry G Merrick)
  702.     - uid fix to smbrun (thanks to larry@witch.mitra.com)
  703.     - man page updates from Karl Auer
  704.     - FAQ file from Karl Auer
  705.     - released alpha8
  706.     - fixed read-only flag in dos_mode() for non writeable services
  707.     - fixed error code reporting in open() and openX().
  708.     - minor secureware fix from (thanks to lance@fox.com)
  709.     - released alpha9
  710.     - casting cleanups for memcpy().
  711.     - cleaned up error code names to be more consistant
  712.  
  713. 1.7.01: 17/7/94
  714.     - minor man page fix from baeder@cadence.com (Scott Baeder)
  715.     - changed usage() error message in client
  716.     - made nmbd not exit if can't register own name
  717.     - made nmbd only register if running as a daemon
  718.     - fixed stdout problem in smbrun by closing stdin/stdout/stderr
  719.     - minor fix to lmhosts parsing
  720.  
  721.  
  722. 1.7.02: 20/7/94
  723.     - made nmbd not call get_broadcast if both -B and -N are used (thanks 
  724.     to Chris Woodrow <Chris.Woodrow@actrix.gen.nz>)
  725.     - disabled GETWD_CACHE again
  726.     - fixed INCLUDES list in Makefile to add version.h (thanks to 
  727.     jimw@PE-Nelson.COM (Jim Watt))
  728.     - made checkname do a become user if it hasn't already done so.
  729.     - added consistancy check to become_user().
  730.     - removed mask extension expansion from SMBsearch
  731.     - small change to chkpth
  732.     - fix to snum select for lpq status (thanks to Rafi Sadowsky 
  733.     rafi@tavor.openu.ac.il)
  734.     - changed daemon to is_daemon for NetBSD (thanks to noses@oink.rhein.de)
  735.     - removed STAFS3 stuff for NETBSD_1_0
  736.  
  737.  
  738. 1.7.03: 29/7/94
  739.     - updated docs for new distribution structure
  740.     - made getatr return 0 size for directories (thanks to Bernd Esser 
  741.     esser@pib1.physik.uni-bonn.de)
  742.     - added valid dos filename checks from Stefan Wessels 
  743.     (swessels@cs.up.ac.za)
  744.     - added trimming of . in hostnames to -S mode of nmbd
  745.     - removed become_user() and OPEN_CNUM calls. Now make them 
  746.     in switch_message instead which simplifies a lot of code.
  747.     - added GETFNUM macro to make chain_fnum more consistant and
  748.     reliable.
  749.     - added flags to protocol structures to simplify CAN_WRITE and AS_USER
  750.     checking
  751.     - added getwd cache boolean option to globals
  752.     - added fclose() to lpq status routine thanks to 
  753.     dgb900@durras.anu.edu.au (David Baldwin)
  754.     - added "only user" option, to limit connection usernames to those 
  755.     in the user= line
  756.     - changed to badpath from badfile in chkpath despite specs (following 
  757.     what WfWg does). This fixes "file not found" error in copy command.
  758.     Thanks to rwa@aber.ac.uk for pointing out the bug
  759.     - changes for apollo from Stephen C. Steel <steve@qv3donald.LeidenUniv.nl>
  760.     - more changes for Apollo from jmi@csd.cri.dk (John Mills)
  761.     - released alpha release
  762.     - added FTRUNCATE_CAN_EXTEND=0 as default to fix problem with word6.
  763.     Possibly not needed on many OSes? Thanks to Charlie Hussey 
  764.     charlie@edina.demon.co.uk
  765.     - started adding max connections code
  766.     - much improved group handling contributed by 
  767.     Ian Heath (ih@ecs.soton.ac.uk)
  768.  
  769. 1.7.04: 29/7/94
  770.     - fixed one line bug in SMBopenX that got error code wrong.
  771.  
  772. 1.7.05: 2/8/94
  773.     - added UNIXERROR() macro to get error code from unix errno.
  774.     - fixed lpq status for MSTCPB3
  775.     - added @ option for user= line to lookup groups in group file
  776.     - added become_user optimisation and process timeout (thanks to
  777.     Jeanette Pauline Middelink (middelin@calvin.iaf.nl)
  778.     - added malloc optimisation in readbraw
  779.     - released alpha
  780.     - patches for OSF1 enhanced security from Udo Linauer <ul@eacpc4.tuwien.ac.at>
  781.     - made level 2 a more useful debug level (less guff)
  782.     - added "max connections" and "lock dir" options to allow
  783.     limiting of the number of connections to a service at one time.
  784.     - released alpha2
  785.     - updated man pages
  786.     - released alpha3
  787.     - added read prediction code for better read performance
  788.     - released alpha4
  789.     - minor tuning to receive_smb()
  790.     - changed the order of mangled stack checking
  791.     - bug fix in read_predict().
  792.     - released alpha5
  793.     - minor search optimisation
  794.     - fixed keep alive bug in writebraw and in readbraw in the client
  795.     - released alpha6
  796.     - disabled writeraw by default pending a bug fix
  797.     - added profiling code (off by default)
  798.     - minor delete tuning
  799.     
  800.  
  801. 1.7.06: 4/8/94
  802.     - OSF1 crypt fix thanks to Udo Linauer <ul@eacpc4.tuwien.ac.at>
  803.     - ifdef'd EDQUOT in case you don't have it (thanks to Paul Blackman <ictinus@Lake.canberra.edu.au>)
  804.     - tidied up UNIXERROR stuff to work on more systems.
  805.     - made Makefile more sophisticated and added "make revert"
  806.  
  807. 1.7.07: 4/8/94
  808.     - fixed one line fatal bug in receive_smb. Thanks to bruce@pixar.com
  809.  
  810. 1.7.08: 2/9/94
  811.     - initgroups call for SCO from lance@fox.com
  812.     - code cleanups from cap@isac.hces.com (Simon Casady)
  813.     - use full pathname in print command construction
  814.     - ISC includes fix from Martin Tomes <mt00@ecl.etherm.co.uk>
  815.     - added GID_TYPE define to cope with ultrix. Thanks to
  816.     brad@cac.washington.edu
  817.     - added umask call to main in server
  818.     - fixed several minor problems with the max connections
  819.     code. Thanks to lehmann@klizix.mpi-stuttgart.mpg.de (Arno Lehmann).
  820.     - fixed filetime in writeclose. Thanks to Andreas Bahrdt
  821.     <100321.2431@compuserve.com>
  822.     - df fix for large disks from Andreas Bahrdt
  823.     - getpwanam support from horn@mickey.jsc.nasa.gov
  824.     - clean name change from Bernd Esser
  825.     <be@syli30.physik.uni-bonn.de>
  826.     - released alpha1
  827.     - more locking changes to fix Excel problem
  828.     - released alpha3
  829.     - another minor locking change
  830.     - smarter masking in the locking code. Excel now apparently works.
  831.     - minor FAQ updates
  832.     - changed max connections refusal error to access denied.
  833.     - added queue command to client to show the print queue
  834.     - changed some print queue reporting stuff
  835.  
  836. 1.8.0: 14/10/94
  837.         - added international chars to valid_dos_char(). Thanks 
  838.     to Daniel.Grandjean@dgr.epfl.ch
  839.     - volume label fix
  840.     - released alpha1
  841.     - important off by 4 fix in the server
  842.     - readbraw size adaption in the client
  843.     - released alpha2    
  844.     - wait3 cast for NeXt fixed. Thanks to dbrandon@politics.tamu.edu.
  845.     - man page fix for max xmit. Thanks to mmoore@wexford (Mike Moore)
  846.     - is_8_3() fixes from Jochen Roderburg <Roderburg@rrz.Uni-Koeln.DE>
  847.     - list_match() fix from jkf@soton.ac.uk
  848.     - statfs3 fix for BSDI from dan@supra.com
  849.     - changed file open/close/read in server in preparation for mmap()
  850.     based IO.
  851.     - added mmap() support for reading files in the server. Optional
  852.     at compile time. Thanks to suggestion from Roger Binns <rogerb@x.co.uk>
  853.     - mmap bug fixes
  854.     - added __SAMBA__ name in nmbd
  855.     - major changes for support of lanman2 and long filenames from
  856.     Jeremy Allison (jeremy@netcom.com)
  857.     - lseek optimisation. Thanks to Linus Torvalds.
  858.     - released alpha4
  859.     - date patches for lanman2 from Jeremy Allison
  860.     - added protocol aliases to handle WfWg (untested)
  861.     - allow for zero params or data in reply_trans2
  862.     - small lanman2 patches from jeremy
  863.     - more prototype additions for clean compilation
  864.     - postscript patches from tim@fsg.com
  865.     - more lanman2 patches from Jeremy
  866.     - added null ioctl support 
  867.     - kanji patches from fujita@ainix.isac.co.jp
  868.     - released alpha6
  869.     - disallowed null password access (thanks to Birger Kraegelin krg@iitb.fhg.de)
  870.     - Makefile fix for ultrix from andrew@d2bsys.demon.co.uk (Andrew Stirling)
  871.     - added per-service mangled names
  872.     - totally re-vamped loadparm.c    
  873.     - added "mangling char" parameter
  874.     - released alpha7
  875.     - added "default case = lower|upper" service option
  876.     - change mangling char to a service parameter
  877.     - ultrix enhanced security patch from steven@gopher.dosli.govt.nz
  878.     - more changes to loadparm.c
  879.     - printer name always set in [printers]
  880.     - string_free() fix thanks to jef_iwaniw@pts.mot.com
  881.     - changed group handling to be faster and work for large numbers 
  882.       of groups
  883.     - added dynamic gid_t type determination
  884.     - released alpha8
  885.     - fixed become_user() problem for services with invalid
  886.     directories
  887.     - added "invalid users" list on per service basis
  888.     - fixed pointer problems in alpha8 (thanks to murnaghant@a1uproar.yuppy.rdgmts.MTS.dec.com)
  889.     - fixed some date setting problems
  890.     - trans2 fixes from jeremy to stop infinite directory listings of 
  891.     long filenames
  892.     - "standard input" lpq patch from root@tlspu.demon.co.uk (Adrian Hungate)
  893.     - changed password checking to check session list and validated ids 
  894.     before user list
  895.     - split off password functions into password.c
  896.     - added hosts equiv and rhosts code (thanks to Tim Murnaghan <murnaghant@a1uproar.yuppy.hhl.MTS.dec.com>)
  897.     - released alpha11
  898.     - added "newer" command to the client
  899.     - attempt at aix trapdoor uid workaround
  900.     - released alpha12
  901.     - minor trans2 bugfix
  902.     - added ufc crypt (fast crypt) support. Thanks to suggestion from
  903.     forrest d whitcher <fw@world.std.com>
  904.     - socket() fix for getting bcast and netmask thanks to
  905.     Brian.Onn@Canada.Sun.COM
  906.     - added beginnings of IPC and named pipe support in the server
  907.     - changed file structure a bit, creating reply.c
  908.     - finished print queue support for lanman1
  909.     - changed default protocol to LANMAN2
  910.     - released alpha13
  911.     - logged IPC connects at a higher debug level
  912.     - added netgroup support to hosts equiv search
  913.     - disallowed root access though hosts.equiv (thanks to Colin.Dean@Smallworld.co.uk)
  914.     - kanji and password handling fixes from fujita@ainix.isac.co.jp
  915.     - several bug fixes for lanman and other things from
  916.     esser@pib1.physik.uni-bonn.de (Bernd Esser)
  917.     - updated man pages, README and announce files.
  918.     - released 1.8.00alpha1
  919.     - reply_close() time change fix from Andreas Bahrdt <100321.2431@compuserve.com>
  920.     - added valid users list to compliment invalid users list.
  921.     - aix fixes from tomc@osi.curtin.edu.au (Tom Crawley)
  922.     - changed testparm output format
  923.     - support for getting time from the server (nearly untested)
  924.     - fixed device type error for wild device ???? 
  925.     - fixed groups problem when in 0 groups
  926.     - more IPC fixups
  927.     - added support for "net view \\server" command to list
  928.     available services (like browsing)
  929.     - released 1.8.00alpha2
  930.     - changed port choice for nmbd -L
  931.     - added -L option to client to view share list on a host
  932.     - bug fixes for NetShareEnum code
  933.     - added "server string" option
  934.     - changed default print file name to include remote machine name.
  935.     - added hooks for browsing in nmbd
  936.     - added browsing to nmbd
  937.     - freebsd fixed from Steve Sims SimsS@Infi.Net
  938.     - got rid of tell()
  939.     - added subnet browsing with the S option in lmhosts
  940.     - made smbd prime nmbd with a 1 byte dgram
  941.     - added REUSADDR to open_socket_in() thanks to peter@ifm.liu.se
  942.  
  943.  
  944. 1.8.01: 18/10/94
  945.  
  946.     - auto add group "LANGROUP" if no group specified in nmbd
  947.     - made nmbd more responsive at startup
  948.     - lots of cleanups and consistancy checks
  949.     - added -C option to nmbd to set "machine comment".
  950.     - fixed postscript option
  951.     - force print_file in print_open()
  952.     - restructured the browsing a little
  953.     - casesignames fix for lanman-dos
  954.     - auto-load home directory from session setup
  955.     - changed to StrnCpy() for safety
  956.     - fixed "out of file descriptors" bug in the client (a WfWg bug?)
  957.  
  958.  
  959. 1.8.02: 22/10/94
  960.     - fixed uppercase username problem
  961.     - added "hide dot files" option
  962.     - changed auto debug log in nmbd
  963.     - added LMHOSTS to Makefile
  964.     - added M flag in lmhosts to specify own netbios name
  965.     - added "load printers" option to auto-load all printers
  966.     - substitution of %p in lpq command
  967.     - substitution of %h and %v in server string and -C option of
  968.     nmbd
  969.     - string substitions substitute all occurances of a pattern
  970.     - added casesignames global option
  971.     - fix for man pages thanks to David Gardiner <dgardine@cssip.edu.au>
  972.     - changed debug options a bit
  973.     - added default for lpq command and lpr command
  974.     - changed default shell path to /bin/sh
  975.     - forced lpq under api to run as root - should speed things up
  976.     - added "group" option to force group of a connection
  977.     - added "read list" and "write list" options
  978.     - added max mux option - seems to fix NT browsing?
  979.     - added "mangled map" option thanks to
  980.     Martin.Tomes@uk.co.eurotherm.controls
  981.     - separated mangling functions into mangle.c
  982.     - allowed all dos chars in mangled names
  983.     - apollo changes from Helmut Buchsbaum <buc@eze22.siemens.co.at>
  984.     - password changing code from Bob Nance <Bob.Nance@niehs.nih.gov>
  985.     it doesn't quite work yet, but it's a start (disabled by default)
  986.  
  987.  
  988. 1.8.03: 25/10/94
  989.     - made auto loaded services browsable as per default service
  990.     so you can hide homes but keep home directories.
  991.     - changed check_name() to handle "direct to network" printing
  992.     - auto 3 minute deadtime if all connections are closed. This 
  993.     prevents restart when polling the print queue.
  994.     - fix for newer command in client from Rich-Hoesly@uai.com
  995.     - changed connection recording method
  996.     - added the program smbstatus
  997.     - changed timeout mechanism
  998.     - "null passwords" option from Pim Zandbergen <pim@cti-software.nl>
  999.     - made new files with casesignames=False set their case to the default
  1000.     case.
  1001.     - fixed problem of uppercasing first letter of printers in printcap
  1002.     - debug level fixes in trans2 from jimw@PE-Nelson.COM (Jim Watt)
  1003.     - made null printer default to lp
  1004.     
  1005. 1.8.04: 27/10/94
  1006.     - added OS2.txt from riiber@oslonett.no
  1007.     - another "auto services" fix. A silly strtok() bug :-(
  1008.     - fixed the status locking and max connections (broken in 1.8.03)
  1009.     - released alpha1
  1010.     - added gets_slash so lines can be continued in smb.conf and
  1011.     lmhosts
  1012.     - browse list bugfix
  1013.     - default to "load printers=yes"
  1014.     - rewrote pcap.c
  1015.     - intergraph bugfix from tarjeij@ulrik.uio.no
  1016.     - changed properties flags in nmbd (to fix NT print browsing)
  1017.     - allowed very long lines in printcap parsing.
  1018.  
  1019. 1.8.05: 28/10/94
  1020.     - lanman2 fix from Jeremy
  1021.  
  1022. 1.9.00: 22/1/95
  1023.     - only add home if not already there.
  1024.     - added ulogoffX support
  1025.     - PTR_DIFF() cleanups
  1026.     - fixed a bug that caused STATUS..LCK to grow very large
  1027.     - changed mangling to handle names ending in . a little better
  1028.     - added "strip dot" option
  1029.     - SGI and setgroups() fix from bill@sg25.npt.nuwc.navy.mil
  1030.     - fixed password preservation in password_ok() (again?)
  1031.     - unink fix from emer@vssad.enet.dec.com (Joel S. Emer)
  1032.     - changed username part of spool filename to max 10 chars (from 6)
  1033.     - magic script fix from beverly@datacube.com (Beverly Brown)
  1034.     - reply_special() fix from Peter Brouwer <pb@apd.dec.com>
  1035.     - stopped nmbd from listening on 138. It didn't seem to help much.
  1036.     - clix fixes from ttj@sknsws61.sjo.statkart.no
  1037.     - fixed select behaviour under Linux
  1038.     - man page fix from Robin Cutshaw <robin@intercore.com>
  1039.     - ISC block size fix from ralf@rbsoft.sdata.de (Ralf Beck)
  1040.     - ISC fixes from Martin.Tomes@controls.eurotherm.co.uk
  1041.     - attrib bit fix in smbclient (pointed out by Rich-Hoesly@uai.com)
  1042.     - japanese extensions from fujita@ainix.isac.co.jp (Takashi
  1043.     Fujita) and ouki@gssm.otuska.tsukuba.ac.jp.
  1044.     - SCO patches from Stephen.Rothwell@pd.necisa.oz.au
  1045.     - changed the system commands to redirect stderr
  1046.     - changed default printername to service name for all print ops
  1047.     - added ability to delete print queue entries
  1048.     - added warning if you try to print without -P in smbclient
  1049.     - INTERACTIVE patches from cardinal@settimo.italtel.it
  1050.     - patch to handle spaces in group names from GJC@vax1.village.com 
  1051.     (GEORGE J. CARRETTE)
  1052.     - lockingX fix from stefank@esi.COM.AU (Stefan Kjellberg)
  1053.     - some fairly radical changes to filename handling. We can now
  1054.     handle mixed case filenames properly
  1055.     - released alpha2
  1056.     - added sysv printing support and improved bsd support
  1057.     - changed the user that does print queues and lprm jobs
  1058.     - return code support in the client from doylen@nbslib.isc-br.com (Doyle Nickless)
  1059.     - added "strict locking" option. Defaults to no.
  1060.  
  1061.     - added -I switch to nmbd
  1062.     - fixed DEV bug thanks to Dirk.DeWachter@rug.ac.be
  1063.     - use pw_encrypt() for shadow passords in Linux (from begemot@begemot.iko.kharkov.ua (Dmitry Gorodchanin))
  1064.     - disabled read prediction by default
  1065.     - added varient handling code to ipc.c for printQ and printDel.
  1066.     - released alpha5
  1067.     - AUX patches from root@dolphin.csudh.edu
  1068.     - struct timeval fix from gkb1@york.ac.uk
  1069.     - patches to merge ISC and INTERACTIVE from pim@cti-software.nl
  1070.     - changed to "printing ="
  1071.     - fixed problem with long print queues.
  1072.     - fixed node status request in nmbd to go to non bcast
  1073.     - made default path in services /tmp if not specified
  1074.     - added %u in passwd program
  1075.     - fixed up the password changing code for Linux
  1076.     - no guest sess setup when user level security
  1077.     - changed timeouts to kill dirptrs so cdroms can be unmounted
  1078.     - added auto-reload of smb.conf if changed
  1079.     - added SIGHUP to reload the config files
  1080.     - added -M option to nmbd to search for a master browser
  1081.     - added support for continue bit in trans2findnext    
  1082.     - changed to dynamic strings in some more structures
  1083.     - changed default deadtime to 30 minutes
  1084.     - cleaned up the memory swapping code a bit
  1085.     - updated the man pages somewhat
  1086.     - added %m and %u in the "path=" of services
  1087.     - released alpha6
  1088.     - simple testing and fixups for solaris, sunos, aix, ultrix and
  1089.     osf/1 (this is all I have access to).
  1090.     - fixed chdir bug 
  1091.     - added hashing to cnum selection
  1092.     - released alpha7
  1093.     - fixed printing bug
  1094.     - reduced chance of "hung" smbd with dead client
  1095.     - fixed do_match() bug (recently introduced)
  1096.     - released alpha8
  1097.     - nameserver fix from W.J.M.vGeest@et.tudelft.nl (W.J.M. van Geest)
  1098.     - rewrote readbraw to try and overlap reads with writes
  1099.     - client optimisations
  1100.     - rewrote getwd cache and enabled it by default
  1101.     - added partial smb packet reads (hopefully faster writes)
  1102.     - added log file and log level options (with subs)
  1103.     - added "read size" option
  1104.     - tried setting some more socket options
  1105.     - can use subs in "config file=" and will auto-reload
  1106.     - added "include" options, with some subs
  1107.     - finally got print manager working with NT
  1108.     - auto-respond in nmbd to non-broadcast (auto WINS server, no -A
  1109.     needed)
  1110.     - released alpha10
  1111.     - auto-delet unused services when reloading
  1112.     - fixed auto-deletion
  1113.     - fixed long names in printing
  1114.     - fixed double loading of services file
  1115.     - added printer file name support
  1116.     - reformatted man pages for better www conversion
  1117.     - renamed to 1.9.00.
  1118.     - added support for RNetServerGetInfo and NetWkstaGetInfo API's
  1119.     - updated the docs a bit
  1120.     - released alpha1
  1121.     - added -M -
  1122.     - changed nmbd announce interval to 10 mins in outgoing packets
  1123.     - hopefully fixed idle timeout reconnects
  1124.     - strupper all command lines in nmbd
  1125.     - added %a substitution for "remote architecture"
  1126.     - added "Samba" protocol (same as lanman2)
  1127.     - added "security = SERVER"
  1128.     - released alpha2
  1129.     - lowercase password fix
  1130.     - fixed connect path length bug (thanks to JOHN YTSENG 
  1131.     <jtseng@cory.EECS.Berkeley.EDU>)
  1132.     - added subs on "password server".
  1133.     - fixed printing filename bug from smbclient
  1134.     - disk quotas and hpux printing support from Dirk.DeWachter@rug.ac.be
  1135.     - Makefile patches from pappinm@ayr_srv2.nth.dpi.qld.gov.au
  1136.     - AFS patches from Mike Allard (mgrmja@nextwork.rose-hulman.edu)
  1137.     - fixed grp name = server name problem
  1138.     - man page updates from Charlie Brady (charlieb@budge.apana.org.au)
  1139.     - fixed file search bug by adding "finished" flag 
  1140.     - added "max log size". Suggestion from Mark Hastings <mark.hastings@gain.com>
  1141.     - released alpha3
  1142.     - changed the read/write routines to handle partial read/writes
  1143.     - released alpha4
  1144.     - changed "guest account" to per-service
  1145.     - changed so "guest ok" allows access to the guest account, 
  1146.     not the "user=" line
  1147.     - changed default readsize to 2048
  1148.     - try bind to 137 in nmbd if possible
  1149.     - added server lookup to -L option in smbclient (gets list of servers)
  1150.     - added -M switch to smbclient for sending winpopup messages
  1151.     - released alpha5
  1152.     - FAQ updates from Paul Blackman ictinus@lake.canberra.edu.au
  1153.  
  1154. 1.9.01: 23/1/95
  1155.     - changed comment in print Q info to service rather than server comment
  1156.     - fixed smbclient -L to NT when in user level security mode
  1157.     - hopefully finally fixed NT print manager problems
  1158.     - added informative messages during smbclient -M 
  1159.     - added node status replies to nmbd
  1160.     - changed the lock offset fixup calculation to be more friendly
  1161.     to dumb lockd daemons.
  1162.     - added sigbus and sigsegv handlers to catch any silly errors and
  1163.     print a message
  1164.     - added message receipt to smbd and "message command =" option
  1165.     
  1166. 1.9.02: 25/1/95
  1167.         - added argv/argc mangling for people who start the server the
  1168.     wrong way.
  1169.     - some man page updates
  1170.     - added "revalidate" option
  1171.     - added hosts allow/deny access check to messaging access
  1172.     - added timeouts in the client
  1173.     - added check for existance of smbrun binary
  1174.     - man page updates from Colin.Dean@Smallworld.co.uk
  1175.     - freebsd patches from dfr@render.com
  1176.     - added mask sanity check in SMBsearch
  1177.     - added more useful substitutions (%S, %P, %I and %T)
  1178.     - added "exec =" option to execute commands on each connection
  1179.  
  1180. 1.9.03: 13/3/95
  1181.         - added "socket options" option
  1182.     - close base fd's (0,1 and 2)
  1183.     - use dup(0) for inetd operation
  1184.     - better detection of is_daemon
  1185.     - hopefully finally fixed silly put bug that gave the wrong
  1186.     date on files.
  1187.     - fixed segv in readbraw bug
  1188.     - added improved checing for invalid (or null) print file name
  1189.     - several patches from ad@papyrus.hamburg.com (Andreas Degert)
  1190.     - fixed slow logout bug in smbclient
  1191.     - fixed automounter problems
  1192.     - added subs on lock dir
  1193.     - BSDI patch from John.Terpstra@Aquasoft.com.au
  1194.     - added separate nmb and smb logfile entries in the Makefile
  1195.     - fixed return code error in open calls
  1196.     - added simple status display of printer in lpq parsing
  1197.     - rewrote the directory handling to avoid seekdir (added dir.c)
  1198.     - added uid=65535 check (thanks to grant@gear.torque.net)
  1199.     - enhanced transfer_file() to add header (used in readbraw)
  1200.     - reply_special bugfix from ferret@pc8871.seqeb.gov.au
  1201.     - added HAVE_PATHCONF
  1202.     - RiscIX patches from Jim Barry <jim@ilp.com> and 
  1203.     Charles Gay-Jones <charlie@ilp.com> 
  1204.     - CLIX patches from ttj@sknsws61.sjo.statkart.no
  1205.     - fixed aix lpq parser from kvintus@acd.com
  1206.     - added substitutions to "include="
  1207.     - M88K_S3 patches from tonyb@plaza.ds.adp.com (Tony D. Birnseth)
  1208.     - fixed mangled stack problem
  1209.     - added code to handle broken readdir() setups on solaris
  1210.     - initgroups() fix from jarit@to.icl.fi
  1211.     - dgux dfree fix from listwork@cloud9.net
  1212.     - dnix support from Peter Olsson <pol@leissner.se>
  1213.     - getgrgid() patch from tpg@bailey.com (Tom Gall)
  1214.     - Makefile patch from obrien@Sea.Legent.com (David O'Brien)
  1215.     - password changing fixes from Dirk.DeWachter@rug.ac.be
  1216.     - minor man page updates
  1217.     - tried to enhance the read prediction code a little bit
  1218.  
  1219. 1.9.04: 16/3/95
  1220.         - a bit better handling of global include lists
  1221.     - fixed GSTRING bug in loadparm.c (affected "socket options =")
  1222.     - fixed broken lpq parsing code (recent bug). 
  1223.     Thanks to Dirk.DeWachter@rug.ac.be
  1224.  
  1225. 1.9.05: 20/3/95
  1226.         - improved mget in client to take multiple arguments and default
  1227.     to *.*
  1228.     - socket option fixes for both nmbd and smbd
  1229.     - changed the byteorder handling scheme to be more portable (and
  1230.     faster)
  1231.     - lint cleanups from kast@kcs.planet.net (Robert Kast)
  1232.     - added crude segv, sigbus and sighup recovery to nmbd
  1233.     - rewrote lanman2_match to be closer to NT and WfWg behaviour
  1234.     - Cray support from velo@sesun3.epfl.ch (Martin Ouwehand)
  1235.     - "admin users" patch from Tim Leamy <tcleamy@ucdavis.edu>
  1236.     - released alpha1
  1237.     - added samba.7 man page
  1238.     - no chdir when doing non AS_USER protocols
  1239.     - become_guest() returns true in trapdoor uid system
  1240.     - added more sophisticated segv/sigbus reporting (Linux only)
  1241.     - released alpha2
  1242.     - minor code cleanups (output of -Wall)
  1243.     - smbprint fix from James Dryfoos <dryfoos@ll.mit.edu>
  1244.     - improved testparm a little
  1245.     - updated INSTALL.txt a little
  1246.  
  1247.  
  1248. 1.9.06: 21/3/95
  1249.         - added %S substitution to users, valid users and invalid
  1250.     users. This is useful for [homes].
  1251.     - split off printing routines into printing.c and more dir
  1252.     commands into dir.c
  1253.     - postexec patch from jpm@gin.Mens.DE (Jan-Piet Mens)
  1254.     - smbstatus updates from jpm@gin.Mens.DE (Jan-Piet Mens)
  1255.     - reload sighup after use    
  1256.     - fixed name ptr offset bug
  1257.     - added %f in print commands 
  1258.     - fixed byte ordering in nmbd which caused browsing to fail in
  1259.     1.9.05
  1260.  
  1261. 1.9.07: 22/3/95
  1262.     - important directory listing fix
  1263.     - allowed path= in [homes] section
  1264.     - printer status patches from Dirk.DeWachter@rug.ac.be
  1265.  
  1266. 1.9.08: 24/3/95
  1267.         - fixed . and .. in root dir for lanman2
  1268.     - better default comment in [homes]
  1269.     - added time stamping to directory entries
  1270.     - check directory access at connection time    
  1271.     - rlimit code from loebach@homer.atria.com (Thomas M. Loebach)
  1272.     - fixed home dir default comment
  1273.     - totally rewrote dptr handling to overcome a persistant bug
  1274.     - added [globals] as well as [global]
  1275.  
  1276. 1.9.09: 30/3/95
  1277.         - fixed static string bug in nmbd
  1278.     - better null password handling
  1279.     - split CFLAGS in Makefile
  1280.     - fixed typo in smbclient messaging
  1281.     - made home dir not inherit path from [global]
  1282.     - standard input printing patch from xiao@ic.ac.uk
  1283.     - added O_CREAT to all print opens (bug in Win95)
  1284.     - use /proc for process_exists under Linux and solaris
  1285.     - fixed another segv problem in readbraw
  1286.     - fixed volume label problem
  1287.     - lots of changes to try and support the NT1 protocol
  1288.     - released alpha1
  1289.     - fixed session setup bug with NT in NT1 protocol
  1290.     - released alpha2
  1291.     - fixed "get" bug in smbclient that affected NT3.5
  1292.     - added SO_KEEPALIVE as a default socket option in smbd
  1293.     - changed some error codes to match those that NT 3.5 produces
  1294.     - updated trans2 with some new calls for Win95 and WinNT (better
  1295.     long file support)
  1296.     - released alpha3
  1297.     - fixed "nmbd -D -b" timeouts
  1298.     - added IS_LONG_NAME flag to getattr in NT1
  1299.     - added the NT qfileinfo trans2 commands
  1300.     - merged qpathinfo with qfileinfo
  1301.     - changed idling technique to try and be more friendly to
  1302.     clients
  1303.     - merged setfileinfo with setpathinfo and updated them with the NT fns
  1304.     - improved read prediction a lot
  1305.     - added read prediction to readbraw
  1306.     - improved fault reporting (last packet dump)
  1307.  
  1308. 1.9.10: 30/3/95
  1309.         - fixed read prediction+readbraw bug for read/write files
  1310.  
  1311. 1.9.11: 9/4/95
  1312.         - fixed trans2 qpathinfo bug
  1313.     - fixed bug with % in service name when doing print queue requests
  1314.     - default readsize now 16K
  1315.     - minor read prediction changes
  1316.     - fixed status initialisation in print queue reporting
  1317.     - fixed const compile problem for hpux
  1318.     - minor SMBread fix from Volker Lendecke <lendecke@namu01.gwdg.de>
  1319.     - removed space after -P in print commands (for fussy systems)
  1320.     - disabled level2 of setfilepathinfo
  1321.     - changed to a single read dir model, saving all dir names in
  1322.     the Dir structure
  1323.     - disabled NT protocols in the client due to reported problems
  1324.     - fixed QUERY_FS_VOLUME_INFO which caused Win95 to hang on drive
  1325.     properties
  1326.     - minor lseek bug fix
  1327.     - fixed up keepalives
  1328.     - new timezone handling code (hopefully better!) 
  1329.     from steve@qv3pluto.LeidenUniv.nl
  1330.     - BSDI interface patch from jrb@csi.compuserve.com
  1331.     - gettimeofday changes from Roger Binns <rogerb@x.co.uk>
  1332.     - added smbrun option
  1333.     - added "root preexec" and "root postexec" options
  1334.  
  1335. 1.9.12: 12/4/95
  1336.         - hopefully fixed some recently introduced NT problems
  1337.     - fixed a unlink error code problem
  1338.     - minor testparm fix
  1339.     - fixed silly error messages about comments in config files
  1340.     - added "valid chars" option for other languages
  1341.  
  1342. 1.9.13:
  1343.         - patches from David O'Brien (obrien@Sea.Legent.com) improving the
  1344.     netgroup suport, and adding the "map archive" option, as well as
  1345.     other minor cleanups.
  1346.     - tried to add info level 3 and 4 support for OS/2
  1347.     - default deadtime set to 0 as in docs
  1348.     - cleaned up the trans2 code a little
  1349.     - cleaned up the Makefile a little
  1350.     - added charset.c and charset.h 
  1351.     - expanded "valid chars" option to handle case mapping
  1352.     - lots of changes to try and get timezones right
  1353.     - released alpha1
  1354.     - win95 fixups
  1355.     - released alpha2
  1356.     - added %H substitution (gives home directory)
  1357.     - nameserv.c cleanups and minor bug fixes
  1358.     - redid the browse hook logic 
  1359.     - fixed daylight saving time offset for logfile messages
  1360.     - added name cacheing to nmbd
  1361.     - added send counts to node status in nmbd
  1362.     - added STRICT_TIMEZONES compile time option (very computationally
  1363.     expensive)
  1364.     - removed the partial read code
  1365.     - cleaned up the permission checking a lot
  1366.     - added share modes (DENY_READ, DENY_WRITE, DENY_ALL, DENY_NONE,
  1367.     DENY_FCB and DENY_DOS)
  1368.     - added "share modes" option
  1369.     - cleaned up the file open calls
  1370.     - released alpha4
  1371.     - fixed important one line bug in open_file()
  1372.     - trans2 client fix from lendecke@namu01.gwdg.de
  1373.     - netgroup patche from David O'Brien (obrien@Sea.Legent.com)
  1374.     - case sensitive fix from lenneis@statrix2.wu-wien.ac.at (Joerg Lenneis)
  1375.     - got long filenames working from Win95 dos prompt
  1376.     - added "workgroup=" option
  1377.     - added "username map" option including multiple maps, group maps etc
  1378.     - fixed password server for NT1 protocol and made it more robust
  1379.     - changed unix_mode() to add IWUSR to read-only directories. This
  1380.     is much closer to what clients expect.
  1381.     - added preservation of unused permission bits when a chmod() is
  1382.     called from a client.
  1383.     - made static those fns that could be
  1384.     - fixed typo in access.c (thanks to  Andrew J Cole
  1385.     <A.J.Cole@cbl.leeds.ac.uk>)
  1386.     - added %d substitution for process id 
  1387.     (thanks to lenneis@statrix2.wu-wien.ac.at (Joerg Lenneis))
  1388.     - changed share error code to ERRbadshare
  1389.     - added locked files list to smbstatus if share modes is enabled
  1390.     - changed DENY_DOS to allow read by other tasks
  1391.     - added shared_pending checks to server
  1392.     - preserverd all possible permission bits during a chmod, and
  1393.     fixed a trans2 chmod bug
  1394.     - open /dev/null to use up first 3 fds, in an attempt to stop rogue
  1395.     library routines from causing havoc
  1396.     - fixed NT username problem when in server security
  1397.  
  1398. ==========
  1399. todo:
  1400.  
  1401. new nmb.conf file
  1402.  
  1403. integrate in the afs changes from iastate
  1404.  
  1405. proper include file handling - need to keep a date for each include file
  1406. (linked list?) and check for changes against those dates. A pain.
  1407.  
  1408. add print queue deletion from smbclient
  1409.  
  1410. raw write in smbclient put routines (current put is VERY slow)
  1411.  
  1412. add "strip tail" option??
  1413. what happens when share locks are NFS mounted and non-writeable?
  1414. try NT touch
  1415. NEXT has problem with uids?
  1416. what happens when printer not found in a lpq? (eg: printcap not readable)
  1417.  
  1418.  
  1419.  
  1420. UNRESOLVED PROBLEMS
  1421. ===================
  1422.  
  1423. ---
  1424. ALLOW_PASSWORD_CHANGE only compiles/works on some systems
  1425.  
  1426. --- 
  1427. multiple interfaces and nmbd. nmb.conf should be started with much
  1428. richer settings.
  1429.  
  1430. ---
  1431. The mangled map stuff doesn't seem to work in all situations
  1432.